在 vim 中,按一次 u 到底會恢復多少東西呢?
首先我們要先知道 u 的功能是取消最後一次的修改
這些修改在 normal, visual, command 模式中很好界定範圍
但 insert 模式時就有點不同
在一般的編輯器中, undo 有兩種可能
一種是最後一個輸入的字元( character )
另一種比較聰明,可以自動判斷字( word )
在 vim 中,我們可以自己控制這個區塊的大小
從進入 insert 模式開始,直到離開,這些都會被當成是同一個區塊
因此我們可以適時使用 <Esc> ,來自由控制一次恢復區壞的大小
可以是一個字元、一個字、一個句、一個段、一個檔案
那麼到底多久應該離開 insert 模式呢?
施主,這個問題應該問你自己
正常當你停頓下來思考的時候,就是一個好的時間點、一個自然的中斷點
若接下來內容怪怪的,便可以回到上次的中斷點重新開始
有點像是玩遊戲要打王或是進入新關卡前
覺得接下來可能不好過關,或是劇情的分岐點
那應該先存檔,給自己一些空間
有時當需要換行或進入下一段時,就算正處於 insert 模式
也可以使用 <Esc>o 先製造一個中斷點,而不是直接 <CR>
或許這樣會是一個更恰當恢復區塊
如果你常在思考目前,我應不應該退出 insert 模式?
那就退出吧,你的思考已經中斷了不是嗎?
有一個小地方需要注意,如果在 insert 模式中,使用了方向鍵的話
那也會產生一個中斷點,跟退回 normal 模式中,使用 h j k l 是一樣的